1. Field of the Invention
The present invention generally relates to a three-dimensional (3D) pointing device utilizing a motion sensor module and method of compensating and mapping signals of the motion sensor module subject to movements and rotations of said 3D pointing device. More particularly, the present invention relates to a 3D pointing device utilizing a six-axis motion sensor module with an enhanced comparison to calculate and compensate accumulated errors associated with the motion sensor module and to obtain actual resulting deviation angles in spatial reference frame and under dynamic environments.
2. Description of the Related Art
FIG. 1 is a schematic diagram showing a user using a handheld 3D pointing device 110 to point at a point on the screen 122 of a 2D display device 120. If the pointing device 110 emits a light beam, the point would be the location where the light beam hits the screen 122. For example, the pointing device 110 may be a mouse of a computer or a pad of a video game console. The display device 120 may be a part of the computer or the video game console. There are two reference frames, such as the spatial pointer reference frame and the display frame, associated with the pointing device 110 and the display device 120, respectively. The first reference frame or spatial pointer reference frame associated with the pointing device 110 is defined by the coordinate axes XP, YP and ZP as shown in FIG. 1. The second reference frame or display frame associated with the display device 120 is defined by the coordinate axes XD, YD and ZD as shown in FIG. 1. The screen 122 of the display device 120 is a subset of the XDYD plane of the reference frame XDYDZD associated with the display device 120. Therefore, the XDYD plane is also known as the display plane associated with the display device 120.
A user may perform control actions and movements utilizing the pointing device for certain purposes including entertainment such as playing a video game, on the display device 120 through the aforementioned pointer on the screen 122. For proper interaction with the use of the pointing device, when the user moves the pointing device 110, the pointer on the screen 122 is expected to move along with the orientation, direction and distance travelled by the pointing device 110 and the display 120 shall display such movement of the pointer to a new location on the screen 122 of the display 120. The orientation of the pointing device 110 may be represented by three deviation angles of the 3D pointing device 110 with respect to the reference frame XPYPZP, namely, the yaw angle 111, the pitch angle 112 and the roll angle 113. The yaw, pitch and roll angles 111, 112, 113 may be best understood in relation to the universal standard definition of spatial angles related to commercial vehicles or transportation such as ships and airplanes. Conventionally, the yaw angle 111 may represent the rotation of the pointing device 110 about the ZP axis; the pitch angle 112 may represent the rotation of the pointing device 110 about the YP axis; the roll angle 113 may represent the rotation of the pointing device 110 about the XP axis.
In a known related art as shown in FIG. 1, when the yaw angle 111 of the pointing device 110 changes, the aforementioned pointer on the screen 122 must move horizontally or in a horizontal direction with reference to the ground in response to the change of the yaw angle 111. FIG. 2 shows what happens when the user rotates the pointing device 110 counterclockwise by a degree such as a 90-degree about the XP axis.
In another known related art as shown in FIG. 2, when the yaw angle 111 changes, the aforementioned pointer on the screen 122 is expected to move vertically in response. The change of the yaw angle 111 can be detected by a gyro-sensor which detects the angular velocity ωx of the pointing device 110 about the XP axis. FIG. 1 and FIG. 2 show that the same change of the yaw angle 111 may be mapped to different movements of the point on the screen 122. Therefore, a proper compensation mechanism for the orientation of the pointing device 110 is required such that corresponding mapping of the pointer on the screen 122 of the display 120 may be obtained correctly and desirably. The term compensation of the prior arts by Liberty (U.S. Pat. No. 7,158,118, U.S. Pat. No. 7,262,760 and U.S. Pat. No. 7,414,611) refers to the correction and compensation of signals subject to gravity effects or extra rotations about the axis related to “roll”. The term of “comparison” of the present invention may generally refer to the calculating and obtaining of the actual deviation angles of the 3D pointing device 110 with respect to the first reference frame or spatial pointing frame XPYPZP utilizing signals generated by motion sensors while reducing or eliminating noises associated with said motion sensors; whereas the term mapping may refer to the calculating and translating of said deviation angles in the sptatial pointing frame XPYPZP onto the aforementioned pointer on the display plane associated with the 2D display device 120 of a second reference frame or display frame XDYDZD.
It is known that a pointing device utilizing 5-axis motion sensors, namely, Ax, Ay, Az, ωY and ωZ may be compensated. For example, U.S. Pat. No. 7,158,118 by Liberty, U.S. Pat. No. 7,262,760 by Liberty and U.S. Pat. No. 7,414,611 by Liberty provide such pointing device having a 5-axis motion sensor and discloses a compensation using two gyro-sensors ωY and ωZ to detect rotation about the Yp and Zp axes, and accelerometers Ax, Ay and Az to detect the acceleration of the pointing device along the three axes of the reference frame XPYPZP. The pointing device by Liberty utilizing a 5-axis motion sensor may not output deviation angles of the pointing device in, for example, a 3D reference frame; in other words, due to due to the limitation of the 5-axis motion sensor of accelerometers and gyro-sensors utilized therein, the pointing device by Liberty cannot output deviation angles readily in 3D reference frame but rather a 2D reference frame only and the output of such device having 5-axis motion sensors is a planar pattern in 2D reference frame only. In addition, it has been found that the pointing device and compensation disclosed therein cannot accurately or properly calculate or obtain movements, angles and directions of the pointing device while being subject to unexpected dynamic movement during the obtaining of the signals generated by the motion sensors, in particular, during unexpected drifting movements and/or accelerations along with the direction of gravity. In other words, it has been found that dynamic actions or extra accelerations including additional accelerations, in particular the one acted upon the direction substantially parallel to or along with the gravity imposed on the pointing device with the compensation methods provided by Liberty, said pointing device by Liberty cannot properly or accurately output the actual yaw, pitch and roll angles in the spatial reference frame XPYPZP and following which, consequently, the mapping of the spatial angles onto any 2D display reference frame such as XDYDZD may be greatly affected and erred. To be more specific, as the 5-axis compensation by Liberty cannot detect or compensate rotation about the XP axis directly or accurately, the rotation about the XP axis has to be derived from the gravitational acceleration detected by the accelerometer. Furthermore, the reading of the accelerometer may be accurate only when the pointing device is static since due to the limitation on known accelerometers that these sensors may not distinguish the gravitational acceleration from the acceleration of the forces including centrifugal forces or other types of additional accelerations imposed or exerted by the user.
Furthermore, it has been found that known prior arts may only be able to output a “relative” movement pattern in a 2D reference frame based on the result calculated from the signals of motion sensors. For example, the abovementioned prior arts by Liberty may only output a 2D movement pattern in a relative manner and a pointer on a display screen to show such corresponding 2D relative movement pattern. To be more specific, the pointer moves from a first location to a second new location relative to said first location only. Such relative movement from the previous location to the next location with respect to time cannot accurately determine and/or output the next location, particularly in situations where the previous location may have been an erred location or have been faultily determined as an incorrect reference point for the next location that is to be calculated therefrom and obtained based on their relative relationship adapted. One illustration of such defect of known prior arts adapting a relative relationship in obtaining a movement pattern may be clearly illustrated by an example showing the faultily outputted movements of a pointer intended to move out of a boundary or an edge of display screen. It has been found that as the pointer of known prior arts reaches the edge of a display and continues to move out of the boundary or edge at a certain extra extent beyond said boundary, the pointer fails to demonstrate a correct or “absolute” pattern as it moves to a new location either within the display or remaining outside of the boundary; in other words, instead of returning to a new location by taking into account said certain extra extend beyond the boundary made earlier in an “absolute” manner, the pointer of known arts discards such virtual distance of the extra extend beyond the boundary already made and an erred next position is faultily outputted due to the relative relationship adapted and utilized by the pointer. may be never calculated or processed due to the faultily obtained location at the edge or boundary of the display as well as the relative relationship adapted to obtain its next location therefrom.
Therefore, it is clear that an improved pointing device with enhanced calculating or comparison method capable of accurately obtaining and calculating actual deviation angles in the spatial pointer frame as well as mapping of such angles onto a pointer on the display frame in dynamic environments and conditions is needed. In addition, as the trend of 3D technology advances and is applicable to various fields including displays and interactive systems, there is a significant need for a 3D pointing device capable of accurately outputting a deviation of such device readily useful in a 3D or spatial reference frame. Furthermore, there is a need to provide an enhanced comparison method applicable to the processing of signals of motion sensors such that errors and/or noises associated with such signals or fusion of signals from the motions sensors may be corrected or eliminated. In addition, according to the field of application, such output of deviation in 3D reference frame may too be further mapped or translated to a pattern useful in a 2D reference frame.